Перейти к основному содержимому

Чек-лист разработки

Разработчику Архитектору

Чек-лист разработки

  1. Что такое Kotlin и для каких задач он предназначен?
  2. Кто разработал Kotlin и когда он был представлен?
  3. Как Kotlin связан с JVM и Java?
  4. Поддерживает ли Kotlin компиляцию в JavaScript или нативный код?
  5. Что означает «полная совместимость с Java»?
  6. Какие есть уровни совместимости между Kotlin и Java?
  7. Как объявляются переменные (val vs var)?
  8. В чём разница между изменяемыми и неизменяемыми ссылками?
  9. Как работает вывод типа в Kotlin?
  10. Что такое nullable и non-nullable типы?
  11. Как объявить nullable тип?
  12. Как безопасно работать с nullable значениями (?., ?:, !!, let)?
  13. Что такое утверждение (!!) и когда его стоит избегать?
  14. Какие примитивные типы есть в Kotlin и чем они отличаются от Java?
  15. Что такое строки и как работает интерполяция ("Hello, $name")?
  16. Как объявляются функции и какие элементы обязательны?
  17. Может ли функция не иметь тела (однострочная)?
  18. Что такое единичный тип (Unit) и чем он отличается от void?
  19. Что такое Nothing и где он используется?
  20. Как работают условия (if как выражение)?
  21. Что такое when и чем он мощнее switch?
  22. Какие циклы поддерживаются (for, while, do-while)?
  23. Как объявляется класс в Kotlin?
  24. Что такое первичный конструктор и как он записывается?
  25. Что такое data-классы и какие методы они генерируют автоматически?
  26. Что такое sealed-классы и зачем они нужны?
  27. Как работает наследование и почему классы по умолчанию final?
  28. Что такое open-модификатор?
  29. Как переопределяются методы и свойства?
  30. Что такое интерфейсы в Kotlin и могут ли они содержать реализацию?
  31. Что такое объекты (object) и companion-объекты?
  32. Как работают расширения (extension functions и properties)?
  33. Что такое делегирование свойств (by lazy, by Delegates.observable)?
  34. Какие встроенные делегаты есть в стандартной библиотеке?
  35. Что такое лямбда-выражения и как они записываются?
  36. Что такое функции высшего порядка?
  37. Как работают коллекции (List, Set, Map) — изменяемые и неизменяемые?
  38. Какие операторы над коллекциями есть (map, filter, find, groupBy)?
  39. Что такое последовательности (Sequence) и когда их использовать?
  40. Как обрабатываются исключения в Kotlin?
  41. Поддерживает ли Kotlin checked exceptions?
  42. Что такое корутины и зачем они нужны?
  43. Как запускать корутины (launch, async)?
  44. Что такое CoroutineScope, Job, Dispatcher?
  45. Как отменить корутину?
  46. Что такое Flow и чем он отличается от Sequence и RxJava?
  47. Как работает работа с файлами и вводом/выводом?
  48. Как сериализовать объекты (kotlinx.serialization)?
  49. Как писать unit-тесты на Kotlin (JUnit, Kotest)?
  50. Какие инструменты используются для сборки проектов на Kotlin (Gradle, Maven)?

Освоение главы0%